Du kunne bare lave en lille linje om i din kode...
#include <iostream>
#include <string>
int main() {
int tal;
int gaet = 10;
std::cout << "Gaet tallet: ";
while (tal) {
std::cin >> tal;
if (tal < gaet) {
std::cout << "Tallet er for lille, proev igen: ";
std::cin >> tal;
}
else if (tal > gaet) {
std::cout << "Tallet er for stort proev igen: ";
std::cin >> tal;
}
else if (tal == gaet) {
std::cout << "Du gaette rigtigt!";
tal=0;
}
}
}
Din while() har to parametre, true eller false. Siden en boolean bare er en forklædt integer, siger man at false=0 og alle nonzero er true. Derfor ændrer vi din integer tal til 0, hvilket får while-løkken til at stoppe.. Desuden bør du et sted i din kode give tal en værdi før den kommer til while(tal). For når du erklærer en variabel uden at tildele den en værdi, får variablen bare den værdi der ligger i hukommelsen hvor den har fået plads. Hvis der så ligger et 0, så stopper dit program af sig selv. Ikke særlig sansynligt, men kan da ske.
Indlæg senest redigeret d. 05.03.2007 20:18 af Bruger #10281